package com.imooc.order.client;

import com.imooc.order.dataobject.ProductInfo;
import com.imooc.order.dto.CartDTO;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * @Author: JLL
 * @Date: 2019/5/5 20:54
 */
@FeignClient(name = "product")  //这里表示，要访问哪个应用
public interface ProductClient {

    /**
     * //这个方法名可以和product的不一样
     *
     * 两边是通过requemapping 匹配
     *
     */
    @GetMapping("/msg")
    String productMsg();

    /**
     * 在这里定义一个接口，从product服务的controller拷贝过来即可
     * @param productIdList
     * @return
     */
    @PostMapping(value = "/product/listForOrder")
    List<ProductInfo> listForOrder(@RequestBody List<String> productIdList);



    @PostMapping("/product/decreaseStock")
    void decreaseStock(@RequestBody List<CartDTO> cartDTOList);


}
